package com.zhangtai.modules.entity.leave;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

	

/**
 * 调班申请表
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-12-08 09:58:40
 */
@Data
@TableName("tb_shift")
public class ShiftEntity implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 申请人姓名
		 */
			private String applyName;
			/**
		 * 申请人工号
		 */
			private String applyCode;
			/**
		 * 申请人公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long applyOrgId;
			/**
		 * 申请人部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long applyUnitId;
			/**
		 * 申请人职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long applyJobId;
			/**
		 * 申请人公司名称
		 */
			private String applyOrgName;
			/**
		 * 申请人部门名称
		 */
			private String applyUnitName;
			/**
		 * 申请人职位名称
		 */
			private String applyJobName;
	/**
	 * 调班员工oid
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long shiftOid;

			/**
		 * 调班人姓名
		 */
			private String shiftName;
			/**
		 * 调班人工号
		 */
			private String shiftCode;
			/**
		 * 调班人公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long shiftOrgId;
			/**
		 * 调班人部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long shiftUnitId;
			/**
		 * 调班人职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long shiftJobId;
			/**
		 * 调班人公司名称
		 */
			private String shiftOrgName;
			/**
		 * 调班人部门名称
		 */
			private String shiftUnitName;
			/**
		 * 调班人职位名称
		 */
			private String shiftJobName;
	/**
	 * 被调班员工oid
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long beShiftOid;
			/**
		 * 被调班人姓名
		 */
			private String beShiftName;
			/**
		 * 被调班人工号
		 */
			private String beShiftCode;
			/**
		 * 被调班人公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long beShiftOrgId;
			/**
		 * 被调班人部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long beShiftUnitId;
			/**
		 * 被调班人职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long beShiftJobId;
			/**
		 * 被调班人公司名称
		 */
			private String beShiftOrgName;
			/**
		 * 被调班人部门名称
		 */
			private String beShiftUnitName;
			/**
		 * 被调班人职位名称
		 */
			private String beShiftJobName;
			/**
		 * 调班时间
		 */
			private Date shiftDate;
			/**
		 * 调班人班次
		 */
			private String frequency;
	/**
	 * 被调班时间
	 */
	private Date beShiftDate;
	/**
	 * 被调班人班次
	 */
	private String beFrequency;
			/**
		 * 原因说明
		 */
			private String reason;
			/**
		 * 审批状态 0待发起 1审批中 2已审批 3作废
		 */
			private Integer approveStatus;
			/**
		 * bpm详情
		 */
			private String bpmUrl;
			/**
		 * 附件url
		 */
			private String fileUrl;
			/**
		 * 备注
		 */
			private String remark;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 是否删除
		 */
			private Integer isDelete;
	
}
